뷰(View) :: 안드로이드 설치 및 개발[SSISO Community]
 
SSISO 카페 SSISO Source SSISO 구직 SSISO 쇼핑몰 SSISO 맛집
추천검색어 : JUnit   Log4j   ajax   spring   struts   struts-config.xml   Synchronized   책정보   Ajax 마스터하기   우측부분

안드로이드 설치 및 개발
[1]
등록일:2018-07-21 09:35:20 (0%)
작성자:
제목:뷰(View)

안드로이드 강좌 목록 (클릭)


 




뷰에 대한 개념 설명을 찾으신 분들은 8편 '레이아웃의 기본2'을 참조해주세요! 





안녕하세요.


지금까지 텍스트뷰와 에디트텍스트를 설명하는 데에만 치중해서 가장 중요한 뷰(View)의 속성을 깜빡했네요.


뷰(View) 클래스는 안드로이드에 존재하는 모든 뷰의 어머니(?)이므로

여기서 소개한 내용은 텍스트뷰, 버튼, 여타 레이아웃을 포함한 모든 안드로이드 뷰에서 사용할 수 있습니다.




그럼 시작해볼까요? 







[ alpha : 반투명 정도 ]



alpha는 뷰의 반투명 정도를 지정하는 속성입니다.

 


주의하셔야 할 것이 이 속성은 API 11 이상 즉, 안드로이드 허니컴 이상 운영체제에서만 사용할 수 있습니다.



alpha 속성은 이렇게 실수로 지정합니다.


 

1.0은 완전 불투명0은 완전 투명입니다.

사진에서는 0.5를 지정했으니 반투명으로 나오겠지요?








Java에서는 View 객체의 setAlpha 메서드를 사용하여 적용할 수 있습니다.


 

마찬가지로 float 타입의 실수로 반투명 정도를 지정해주시면 됩니다.












[ background : 배경색 ]



background는 말 그대로 뷰의 배경색을 지정하는 속성입니다. 9편 '뷰의 너비와 높이 지정하기'에서도 소개했었죠?


 

그 때 설명에 빠뜨린 부분이 있는데, 배경색에 반투명 정도를 지정할 수도 있습니다!



이렇게 바로 HTML 칼라코드를 적용하면 일반적인 노란색이 되지만






앞에 80을 추가해 주면!



짠~ 이렇게 반투명 노란색이 됩니다.






원리가 무엇일까요?

 

안드로이드에서 사용하는 칼라코드의 구조는 사실 다음과 같습니다.







여기서 반투명 정도를 지정하는 자릿수는 생략 가능합니다.


 

그래서 HTML 칼라코드처럼 색상을 지정할 수 있었던 것이지요!








그런데 왜 하필 80이 반투명이냐?


칼라코드에서 반투명 부분은 16진수 값으로 00 ~ FF (10진수로 치면 0 ~ 255) 사이를 지정합니다.


여기서 FF완전 불투명, 00완전 투명입니다.


80은 십진수로 128입니다. 지정할 수 있는 범위의 딱 중간이죠.

 

그래서 완전한 반투명으로 나오는 겁니다.







그런데 반투명 정도를 일일이 16진수로 계산하려니까 머리 아프죠?


여러분, 구글이 괜히 기본 안드로이드 IDE를 이클립스에서 안드로이드 스튜디오로 바꾼게 아닙니다.


 

안드로이드 스튜디오에 내장된 칼·라·피·커를 사용하세요!



 

사진처럼 왼쪽에 나타난 작은 네모를 누르고







 


표시한 막대기를 가지고 투명도를 조절하시면 됩니다.


 

정말 편리한 IDE죠? (은근히 안드로이드 스튜디오 찬양)








자바 코드에서는 어떻게 사용하는지 볼까요?



자바에서는 뷰의 setBackground가 아닌 setBackgroundColor 메서드를 통해 색상을 지정하시면 됩니다.

 


사진처럼 숫자에 0x 접두사를 붙이면 HTML 칼라 코드와 동일한 값을 전달할 수 있습니다.








여기서 한 가지 주의해야 할 점이 있는데


 


이렇게 앞에 투명 정도를 지정하는 값을 반드시 지정해주셔야 합니다.


표시한 FF를 생략하면 투명도가 0이 되어서 아무 색도 나오지 않습니다!




혹시나 setBackgroundColor로 값을 지정했는데 배경색이 안 바뀐다하시는 분들은 

 


꼭! 투명도를 나타내는 값을 생략하지 않았는지 확인하세요!












[ visibility : 뷰 숨기기/나타내기 ]



visibility는 뷰를 숨기거나 나타내는 속성입니다.


 

속성을 사용하기 앞서 다음과 같이 버튼을 여러 개 배치해 볼까요?


 








그 다음 첫번째 버튼에 visibility 속성을 추가하고 invisible을 지정해 봅시다.


 








확인해보면



 

버튼이 사라졌지요?







이번엔 visibilitygone을 지정해봅시다.









버튼이 흔적조차 없이 사라졌습니다!




그렇습니다.


invisible이 적어도 뷰의 영역은 남겨놓고 숨기는 값이라면

gone은 뷰가 차지하던 영역까지 숨겨버리는 값입니다.







자바 코드에서는 이렇게 사용하시면 됩니다.



각 속성 값이 View 클래스상수 필드로 정의되어 있습니다.


 

View.VISIBLE은 당연히 사라졌던 뷰를 다시 나타내는 속성이겠지요?








내용이 길어질 것 같아 여기서 끊겠습니다.


 

모두들 2편에서 봐요~

[본문링크] 뷰(View)
[1]
코멘트(이글의 트랙백 주소:/cafe/tb_receive.php?no=34740
작성자
비밀번호

 

SSISOCommunity

[이전]

Copyright byCopyright ⓒ2005, SSISO Community All Rights Reserved.